AWS FIS를 사용하여 EC2 인스턴스의 CPU 부하 테스트해 보기
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 AWS FIS를 사용하여 EC2 인스턴스의 CPU 부하 테스트를 해 보았습니다.
CPU의 부하 테스트는 EC2 내부에 stress를 설치하여 강제로 CPU 사용률을 올릴 수 있습니다. 이에 대한 내용은 아래 블로그를 참고해 주세요.
이번 블로그에서는 stress 이외의 방법으로 AWS FIS를 이용하여 CPU 사용률을 올려보도록 하겠습니다.
실험 템플릿 준비
AWS FIS에서 시나리오 라이브러리를 클릭해 보면, 미리 만들어진 샘플 템플릿을 확인할 수 있습니다. 사용자가 직접 커스텀할 수도 있지만, 이번에는 샘플 템플릿을 이용해 보도록 하겠습니다. CPU 부하 테스트를 하기 위해서「EC2 스트레스: CPU」를 선택합니다.
계정 타겟팅은 현재 AWS 계정을 선택합니다.
이후 샘플 템플릿을 확인할 수 있는데, 기본적으로 파라미터는 전부 자동으로 채워져있는 상태입니다.
「작업 및 목표」에서는 작업과 작업 대상을 선택할 수 있는데, 이 부분도 샘플 템플릿을 선택했기 때문에 자동으로 생성되어 있습니다. CPU 부하를 올리는 작업을 총 3번 시행하며, 한 작업당 5분으로 총 15분 동안 부하 테스트를 진행합니다.
작업 대상의 경우 테스트용으로 생성한 EC2 인스턴스를 선택했습니다.
「작업 및 목표」확인이 끝났다면, 서비스 액세스에서 AWS FIS가 실험을 수행할 수 있는 권한을 지정해야 합니다. 이 부분은「새 역할 생성」을 선택하여 자동으로 IAM 역할을 생성할 수 있도록 할 수 있으며, 기존에 생성한 IAM 역할이 있다면「기존 IAM 역할 사용」을 선택합니다.
또한, 중지 조건의 경우 CloudWatch Alarms를 선택하여 해당 알람이 실행되면 작업을 중지할 수 있습니다. 예를 들어 총 3개의 작업을 구성하고 있는 상황에서 첫 번쨰 작업에서 CloudWatch Alarms를 통한 경보가 발생했을 시 첫 번째 작업에서 실험은 중단됩니다. 여기서 CloudWatch Alarms를 선택하지 않고 넘어간다면 작업 중단없이 세 번째 작업까지 진행하고 총 15분이 지나서야 실험이 중단됩니다.
EC2 인스턴스의 CPU 사용률에 대한 CloudWatch Alarms 설정 방법은 아래 블로그를 참고해 주세요.
부하 테스트 시작
실험 템플릿 준비가 끝났다면, 이제 부하 테스트를 시작합니다.
「실험 템플릿」카테고리에서 생성한 실험 템플릿을 선택하고「실험 시작」을 클릭합니다.
실험 진행 상황과 결과는「실험」카테고리에서 확인할 수 있으며, 실험 상태는「Completed」와「Failed」, 「Stopped」로 나누어 볼 수 있으며, 「Completed」는 모든 작업을 다 수행했을 때 표시되며「Failed」는 작업에 실패했을 때, 마지막으로「Stopped」는 CloudWatch Alarms를 설정해서 도중에 작업이 중단되었을 때 표시됩니다.
부하 테스트 결과
부하 테스트 중 EC2 인스턴스를 확인해 보면, 상태가「ALARM」인 것을 확인할 수 있습니다.
CloudWatch에서 확인해 보면 설정한 CPU 사용률 70%에 도달한 것을 확인할 수 있습니다.
마지막으로 지정한 이메일로 CPU 사용률에 대한 알람이 도착한 것을 확인할 수 있습니다.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 [email protected]로 보내주시면 감사하겠습니다.